<!doctype html>
<meta charset="utf-8">
<meta name="timeout" content="long">
<title>IdleDeadline::timeRemaining() uses relevant global object as a high-res timestamp origin</title>
<link rel="help" href="https://w3c.github.io/requestidlecallback/#dom-idledeadline-timeremaining">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>

<body>
<script>
const t = async_test();
t.step_timeout(() => {
  const iframeDelayed = document.createElement("iframe");
  iframeDelayed.onload = t.step_func(() => {
    requestIdleCallback(t.step_func_done(deadline => {
      assert_approx_equals(
        iframeDelayed.contentWindow.IdleDeadline.prototype.timeRemaining.call(deadline),
        deadline.timeRemaining(),
        5,
      );
    }));
  });
  document.body.append(iframeDelayed);
}, 1000);
</script>
